﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Domain.Entities;
using WisDom.SmartTMS.Enums;

namespace WisDom.SmartTMS.Entities
{
    /// <summary>
    /// 承运合同管理
    /// </summary>
   public class Contract_Carriage:Entity<Guid>
    {
        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreateTime { get; set; }

        /// <summary>
        /// 创建人Id
        /// </summary>
        public Guid? CreatorId { get; set; }

        /// <summary>
        /// 否已删除
        /// </summary>
        public Boolean Deleted { get; set; }

        /// <summary>
        /// 合同编号
        /// </summary>
        public string ContractNum { get; set; }

        /// <summary>
        /// 合同标题
        /// </summary>
        public string ContractTitle { get; set; }

        /// <summary>
        /// 外协单位
        /// </summary>
        public string CarriageUnit { get; set; }

        /// <summary>
        /// 外协负责人
        /// </summary>
        public string CarriageMan { get; set; }

        /// <summary>
        /// 线路
        /// </summary>
        public string Line { get; set; }

        /// <summary>
        /// 吨运价
        /// </summary>
        public decimal FreightRates { get; set; }

        /// <summary>
        /// 包车条件吨位
        /// </summary>
        public int CharterConditionTonnage { get; set; }

        /// <summary>
        /// 包车金额
        /// </summary>
        public decimal CharterValue { get; set; }

        /// <summary>
        /// 签订时间
        /// </summary>
        public DateTime SignedTime { get; set; }

        /// <summary>
        /// 经办人
        /// </summary>
        public string Operator { get; set; }

        /// <summary>
        /// 合同金额
        /// </summary>
        public decimal ContractMoney { get; set; }

        /// <summary>
        /// 合同标的或项目说明
        /// </summary>
        public string ProjectDescription { get; set; }

        /// <summary>
        /// 合同主要条款/变更条款
        /// </summary>
        public string MainClause { get; set; }

        /// <summary>
        /// 附件地址
        /// </summary>
        public string Accessory { get; set; }

        /// <summary>
        /// 审批状态
        /// </summary>
        public AuditState State { get; set; }

        /// <summary>
        /// 审批人
        /// </summary>
        public string Approver { get; set; }
        public string Remark { get; set; }
       public Contract_Carriage()
        {

        }

        public Contract_Carriage(Guid id, DateTime createTime, Guid? creatorId, Boolean deleted, String contractNum, String contractTitle, String carriageUnit, String carriageMan, String line, Decimal freightRates, Int32 charterConditionTonnage, Decimal charterValue, DateTime signedTime, String Operator, Decimal contractMoney, String projectDescription, String mainClause, String accessory, AuditState state, String approver)
        {
            Id = id;
            CreateTime = createTime;
            CreatorId = creatorId;
            Deleted = deleted;
            ContractNum = contractNum;
            ContractTitle = contractTitle;
            CarriageUnit = carriageUnit;
            CarriageMan = carriageMan;
            Line = line;
            FreightRates = freightRates;
            CharterConditionTonnage = charterConditionTonnage;
            CharterValue = charterValue;
            SignedTime = signedTime;
            this.Operator = Operator;
            ContractMoney = contractMoney;
            ProjectDescription = projectDescription;
            MainClause = mainClause;
            Accessory = accessory;
            State = state;
            Approver = approver;
        }
    }
}
